#ifndef _OSM_H
#define _OSM_H

#ifdef __cplusplus
extern "C" {
#endif

/* calling a system call that does nothing */
#define OSM_NULLSYSCALL asm volatile( "int $0x80 " : :                  \
        "a" (0xffffffff) /* no such syscall */, "b" (0), "c" (0), "d" (0) /*:\
        "eax", "ebx", "ecx", "edx"*/)


typedef struct {
	char* machineName;
	int numberOfIterations;
	double instructionCycles;
	double functionCycles; 
	double trapCycles;
	double functionInstructionRatio;
	double trapInstructionRatio;	
} timeMeasurmentStructure;


timeMeasurmentStructure measureTimes(int numOfIterations, int cpuMHZ);

#ifdef __cplusplus
}
#endif

#endif

